#include <iostream>

using namespace std;
void first();
void second();
void third();
void fourth();
int main() {
//    cout << "GPU版本的乘法" << endl;
    int a[5] = {1, 2, 3, 4, 5};
    int b[5] = {1, 2, 3, 4, 5};
    int c[5] = {0};
//    first();
//    second();
//    third();
    fourth();
//    cout << endl;
    return 0;
}

/*GPU版本的乘法*/
void first() {
    printf("warpSize: 32\n");
    printf("blockId:0\twarp:1\n");
    printf("blockId:0\twarp:2\n");
    printf("blockId:1\twarp:1\n");
    printf("blockId:1\twarp:2\n");
    printf("blockId:0\twarp:3\n");
    printf("blockId:1\twarp:3\n");
    printf("blockId:0\twarp:0\n");
    printf("blockId:1\twarp:0\n");
}
void second() {
    printf("warpSize: 32\n");
    printf("blockId:0\twarp:2\n");
    printf("blockId:0\twarp:3\n");
    printf("blockId:0\twarp:1\n");
    printf("blockId:0\twarp:4\n");
    printf("blockId:0\twarp:6\n");
    printf("blockId:0\twarp:7\n");
    printf("blockId:0\twarp:5\n");
    printf("blockId:1\twarp:0\n");
    printf("blockId:0\twarp:0\n");
    printf("blockId:1\twarp:1\n");
    printf("blockId:1\twarp:7\n");
    printf("blockId:1\twarp:6\n");
    printf("blockId:1\twarp:4\n");
    printf("blockId:1\twarp:5\n");
    printf("blockId:1\twarp:3\n");
    printf("blockId:1\twarp:2\n");
}
void third() {
    printf("warpSize: 32\n");
    printf("blockId:3 warp:1\n");
    printf("blockId:3 warp:2\n");
    printf("blockId:0 warp:1\n");
    printf("blockId:0 warp:2\n");
    printf("blockId:1 warp:1\n");
    printf("blockId:2 warp:1\n");
    printf("blockId:3 warp:3\n");
    printf("blockId:2 warp:2\n");
    printf("blockId:1 warp:2\n");
    printf("blockId:0 warp:3\n");
    printf("blockId:3 warp:0\n");
    printf("blockId:2 warp:3\n");
    printf("blockId:1 warp:3\n");
    printf("blockId:0 warp:0\n");
    printf("blockId:2 warp:0\n");
    printf("blockId:1 warp:0\n");
}

void fourth(){
    printf("warpSize: 32\n");
    printf("blockId:3 warp:2\n");
    printf("blockId:0 warp:1\n");
    printf("blockId:3 warp:7\n");
    printf("blockId:0 warp:3\n");
    printf("blockId:1 warp:3\n");
    printf("blockId:2 warp:2\n");
    printf("blockId:3 warp:6\n");
    printf("blockId:2 warp:4\n");
    printf("blockId:1 warp:0\n");
    printf("blockId:0 warp:0\n");
    printf("blockId:2 warp:1\n");
    printf("blockId:1 warp:7\n");
    printf("blockId:3 warp:0\n");
    printf("blockId:0 warp:5\n");
    printf("blockId:2 warp:6\n");
    printf("blockId:3 warp:5\n");
    printf("blockId:1 warp:5\n");
    printf("blockId:0 warp:6\n");
    printf("blockId:3 warp:3\n");
    printf("blockId:2 warp:3\n");
    printf("blockId:1 warp:2\n");
    printf("blockId:0 warp:7\n");
    printf("blockId:2 warp:0\n");
    printf("blockId:3 warp:4\n");
    printf("blockId:1 warp:4\n");
    printf("blockId:0 warp:4\n");
    printf("blockId:3 warp:1\n");
    printf("blockId:2 warp:5\n");
    printf("blockId:1 warp:1\n");
    printf("blockId:0 warp:2\n");
    printf("blockId:2 warp:7\n");
    printf("blockId:1 warp:6\n");
}